home *** CD-ROM | disk | FTP | other *** search
- Path: hearst.acc.Virginia.EDU!adastra!mbs
- Newsgroups: comp.sys.amiga.programmer
- From: mbs@adastra.cvl.va.us (Michael B. Smith)
- Subject: Re: ADE
- Distribution: world
- References: <4cku60$t4m@globe.indirect.com> <DKuzuJ.49n@cyf-kr.edu.pl> <mbs.46x6@adastra.cvl.va.us> <19960108.44F2A8.1045B@ak220.du.pipex.com>
- X-NewsReader: GRn 3.0b24 December 30, 1995
- MIME-Version: 1.0
- Content-Type: text/plain; charset=iso-8859-1
- Content-Transfer-Encoding: 8bit
- Message-ID: <mbs.4722@adastra.cvl.va.us>
- Date: Tue, 9 Jan 96 22:23:35 EDT
- Organization: Only if you insist...
-
- In article <19960108.44F2A8.1045B@ak220.du.pipex.com> m.hendry@dial.pipex.com (Mathew Hendry) writes:
- > Michael B. Smith (mbs@adastra.cvl.va.us) wrote:
- > : Using 'rez' does _not_ require a program to be pure. ANY program
- > : can be 'rez'ed.
- > :
- > : For things like gcc, where -resident hasn't worked since 2.3.3 (or so),
- > : it's quite important.
- >
- > If a command is not pure, it must be reloaded for each invocation. So what is
- > the functional difference between this "rez" program and copying the command
- > to RAM:? Or isn't there one?
-
- The functional difference is that you don't have to fix all the
- paths in the calling programs.
-
- I've included a part of the doc file below.
- --
- // Michael B. Smith
- \X/ mbs@adastra.cvl.va.us
-
- The operation of REZ is very simple. A list is maintained in memory of
- the names of those programs which are desired to be resident. When any
- of the programs are first loaded into memory REZ automatically notices
- that the program being loaded is to be resident and does the special
- REZ load on it. Anytime after the first time, the resident version of
- the program will be used.
-
- What this means is that you can tell REZ that you want a whole slew of
- programs to be in the resident list, but only those programs that you
- actually run will actually get loaded into memory. The first time you
- run each one it will load about as fast as it would without REZ, but
- every time after it will be almost instantaneous.
-
- So, the simplest way to use REZ is to just execute (maybe in your
- s:startup-sequence file):
-
- REZ dir ls copy cd cc as ln make z
-
- You can specify as many filenames as you want to since REZ maintains
- a linked list of the names.
-
- You can see the status of the resident name list by typing REZ with no
- arguments. This will produce a display that looks like:
-
- Name Active Status Total Pure Share Chk
- cc 0 Loaded 7 No Yes OK
- as 0 Loaded 10 No Yes OK
- ln 0 Loaded 2 No Yes OK
- z 1 In Use 7 No Yes OK
- delete 0 Loaded 1 Yes Yes* > 0
- copy 0 Not Loaded 0 ? ? ?
- cd 0 Not Loaded 0 ? ? ?
-
- The first column displays the name of the program. The next two columns are
- related. The first shows the number of programs actively sharing the Code
- part of this program. The second one shows the status of the program which
- is either not loaded, loaded but not executing, or actually in use. The
- next column labelled Total shows the number of times this program has been
- executed since being made resident.
-
- The next column indicates whether a program has any absolute references
- to Data from Code. If it does not, then it is considered Pure. This is
- important and is reflected in the next column called Share. Each program
- must have it's own individual Data area. If the Code contains absolute
- references to the Data area, it is not possible to use that Code with
- multiple Data areas. There are other restrictions as well, but normally
- if a program is Pure, it will also be Shareable.
-
- Which brings us to the Share column. If a program is not Pure, then
- it can't be shared except for some special cases. REZ automatically
- detects these special cases and takes advantage of them and sets a
- Yes in this column. More detailed information can be found in the
- technical information section.
-
- The other requirement for being Shareable is that the Code segment
- can not be modified. When a program is made resident, REZ computes
- a checksum for each Code segment in the program. When the list of
- resident programs is displayed, REZ recomputes the checksum and
- normally an OK is displayed.
-
- However, if a segment has been modified, then the number of the segment
- will be displayed followin a '>'. In addition, if the program is Shareable,
- REZ will automatically disable sharing which is indicated by an asterisk
- following the "Yes" in the Share column. (See the "-c" option for automatic
- checking.)
-